Bagnaia (Ducati Team) had qualified on pole position and got the holeshot, leading Jorge Martin (Prima Pramac Ducati), Alex Marquez (Gresini Ducati), and Maverick Viñales (Aprilia Racing) away.
Marc Marquez (Gresini Ducati), who had already gone down at the end of qualifying, jumped from seventh on the starting grid to fifth in the opening corners.
He lost, however, when he crashed again on Lap 2 after being unsettled by the inner kerb at Madijk (Turn 2), leaving Brad Binder to inherit fifth while the South African’s Red Bull KTM team-mate Jack Miller ran in 12th.
Viñales overtook Alex Marquez for third place later that same lap and then the #73 Ducati came under pressure from Binder on the #33 KTM.
Bagnaia gradually stretched his lead over Martin to a full second by the halfway mark of the 13-lap contest, while Enea Bastianini (Ducati Team) had cleared Aleix Espargaro (Aprilia Racing) for sixth place and was tailing Binder.
Bastianini forced his way past Binder at De Strubben on Lap 9, by which time Bagnaia had been issued a track limits warning.
Bastianini sent it past Alex Marquez for fourth at the Timmer chicane later on Lap 9, as did Espargaro past Binder for sixth, but the Aprilia pilot undid his good work when he ran wide at the other end of the main straight and dropped back to eighth, behind Fabio Di Giannantonio (Mooney VR46 Ducati).
While Bastianini was released from that battle, Alex Marquez was still the cork in the bottle for Binder, Di Giannantonio, and Espargaro.
Bagnaia was also clearing out at the very head of the field, starting the final lap with a 1.6s lead over Martin and pushing it all the way to 2.4s at the chequered flag.
Viñales claimed third despite also finishing under a track limits warning and Bastianini got home in fourth.
Behind him, it was relative mayhem.
Alex Marquez had already been issued a Long Lap Penalty for exceeding track limits when he had a moment through the Timmer chicane on the penultimate lap.
That twitch allowed Di Giannantonio to jump from seventh to fifth given the VR46 pilot had scythed past Binder as they entered the chicane, with Espargaro emerging sixth at the other end of the pit straight and Binder a net one position down to seventh.
Espargaro then took a tumble at the Ramshoek on the final lap, meaning Binder did finish sixth after all.
Fabio Quartaro (Monster Energy Yamaha) was classified seventh once the LLP was converted to a three second time addition for Alex Marquez, who was thus classified eighth, with Franco Morbidelli (Pramac Ducati) scoring the final championship point in ninth.
Miller ended up 13th while Luca Marini (Repsol Honda), with an engine failure, and Lorenzo Savadori (Aprilia Racing), thanks to a crash, joined Espargaro and Marc Marquez as DNFs.
Martin now leads the championship by 15 points over Bagnaia, with Marc Marquez another 29 points back in third.
Race results: Sprint race
Pos | Num | Rider | Nat | Team | Bike | Time/Gap |
1 | 1 | F. Bagnaia | ITA | Ducati Lenovo Team | Ducati | 19:58.090 |
2 | 89 | J. Martin | ESP | Prima Pramac Racing | Ducati | +2.355 |
3 | 12 | M. Viñales | ESP | Aprilia Racing | Aprilia | +4.103 |
4 | 23 | E. Bastianini | ITA | Ducati Lenovo Team | Ducati | +6.377 |
5 | 49 | F. Di Giannantonio | ITA | Pertamina Enduro VR46 Racing Team | Ducati | +8.869 |
6 | 33 | B. Binder | RSA | Red Bull KTM Factory Racing | KTM | +9.727 |
7 | 20 | F. Quartararo | FRA | Monster Energy Yamaha MotoGP Team | Yamaha | +10.828 |
8 | 73 | A. Marquez | ESP | Gresini Racing MotoGP | Ducati | +13.196 |
9 | 21 | F. Morbidelli | ITA | Prima Pramac Racing | Ducati | +13.560 |
10 | 31 | P. Acosta | ESP | Red Bull GASGAS Tech3 | GasGas | +15.972 |
11 | 72 | M. Bezzecchi | ITA | Pertamina Enduro VR46 Racing Team | Ducati | +16.036 |
12 | 88 | M. Oliveira | POR | Trackhouse Racing | Aprilia | +16.082 |
13 | 43 | J. Miller | AUS | Red Bull KTM Factory Racing | KTM | +18.739 |
14 | 36 | J. Mir | ESP | Repsol Honda Team | Honda | +21.791 |
15 | 37 | A. Fernandez | ESP | Red Bull GASGAS Tech3 | GasGas | +22.450 |
16 | 5 | J. Zarco | FRA | CASTROL Honda LCR | Honda | +23.690 |
17 | 25 | R. Fernandez | ESP | Trackhouse Racing | Aprilia | +24.430 |
18 | 30 | T. Nakagami | JPN | IDEMITSU Honda LCR | Honda | +29.568 |
19 | 42 | A. Rins | ESP | Monster Energy Yamaha MotoGP Team | Yamaha | +83.553 |
DNF | 41 | A. Espargaro | ESP | Aprilia Racing | Aprilia | 12 laps |
DNF | 10 | L. Marini | ITA | Repsol Honda Team | Honda | 4 laps |
DNF | 32 | L. Savadori | ITA | Aprilia Racing | Aprilia | 4 laps |
DNF | 93 | M. Marquez | ESP | Gresini Racing MotoGP | Ducati | 1 laps |
Race winner: 13 laps
Riders’ championship
Pos | Rider | Nat | Pts |
1 | J. Martin | ESP | 180 |
2 | F. Bagnaia | ITA | 165 |
3 | M. Marquez | ESP | 136 |
4 | E. Bastianini | ITA | 120 |
5 | M. Viñales | ESP | 107 |
6 | P. Acosta | ESP | 101 |
7 | B. Binder | RSA | 89 |
8 | A. Espargaro | ESP | 82 |
9 | F. Di Giannantonio | ITA | 79 |
10 | A. Marquez | ESP | 53 |
11 | M. Bezzecchi | ITA | 45 |
12 | F. Quartararo | FRA | 35 |
13 | F. Morbidelli | ITA | 32 |
14 | R. Fernandez | ESP | 32 |
15 | M. Oliveira | POR | 31 |
16 | J. Miller | AUS | 27 |
17 | A. Fernandez | ESP | 13 |
18 | J. Mir | ESP | 13 |
19 | J. Zarco | FRA | 9 |
20 | A. Rins | ESP | 8 |
21 | T. Nakagami | JPN | 8 |
22 | D. Pedrosa | ESP | 7 |
23 | L. Marini | ITA | 0 |
24 | S. Bradl | GER | 0 |
25 | P. Espargaro | ESP | 0 |
26 | L. Savadori | ITA | 0 |